home *** CD-ROM | disk | FTP | other *** search
- /* rexx macro */
-
- options results /* enable return codes */
-
- if (left(address(), 6) ~= "GOLDED") then /* not started by GoldEd ? */
-
- address 'GOLDED.1'
-
- 'LOCK CURRENT RELEASE=4' /* lock GUI, gain access */
-
- if (RC ~= 0) then
-
- exit
-
- options failat 6 /* ignore warnings */
-
- signal on syntax /* ensure clean exit */
-
- /* ------------------------- INSERT YOUR CODE HERE: -------------------- */
-
- /* INPUT: SOFTWARE/K (supported values: SAS/C,SAS/C-GNUMAKE,VBCC,DICE,DICE-GNUMAKE,STORMC,GENERIC) */
-
- parse upper arg SOFTWARE .
-
- if (SOFTWARE = "") then
-
- SOFTWARE = "GENERIC"
-
- 'QUERY CAT'
-
- if (RESULT = "deutsch") then do
-
- STRING.sSELECTPROGRAM = "Programm auswählen"
- STRING.sFILENOTFOUND = "Programm nicht gefunden:"
- end
- else do
-
- STRING.sSELECTPROGRAM = "Choose program"
- STRING.sFILENOTFOUND = "Program not found:"
- end
-
- 'QUERY PATH VAR=PATH'
-
- R = pragma('D', PATH)
-
- /* determine program name from options file or makefile */
-
- call getprojectname(SOFTWARE)
-
- if (PROJECTNAME = "") then do
-
- if (PROJECTNAME = "") then
-
- 'REQUEST FILE TITLE="' || STRING.sSELECTPROGRAM || '" PATH="' || PATH || '" VAR=PROJECTNAME'
- end
-
- if (PROJECTNAME ~= "") then do
-
- if (exists(PROJECTNAME)) then
- 'RUN ASYNC STACK=16384 CMD="*"' || PROJECTNAME || '*"" DIR="' || PATH || '"'
- else
- 'REQUEST PROBLEM="' || STRING.sFILENOTFOUND || ' «' || PROJECTNAME || '»' || '"'
- end
-
- /* ---------------------------- END OF YOUR CODE ----------------------- */
-
- 'UNLOCK' /* VERY important: unlock GUI */
- EXIT
-
- SYNTAX:
-
- SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
- 'UNLOCK'
- EXIT
-
- /* /// "getprojectname" */
-
- getprojectname: procedure expose CONFIG. STRING. PROJECTNAME OBJFOLDER
-
- parse upper arg SOFTWARE
-
- /* try to read project name from options file or makefile */
-
- PROJECTNAME = ""
- OBJFOLDER = ""
-
- call readoptions(SOFTWARE)
-
- if (PROJECTNAME = "") then do
-
- call readmakefile(SOFTWARE)
-
- if (PROJECTNAME = "") then do
-
- if (SOFTWARE ~= "") then do
-
- /* try again but ignore specified compiler */
-
- call readoptions("")
-
- if (PROJECTNAME = "") then
-
- call readmakefile("")
- end
- end
- end
-
- return
-
- /* /// */
- /* /// "readoptions" */
-
- readoptions: procedure expose CONFIG. STRING. PROJECTNAME OBJFOLDER GSTFILE
-
- /* read compiler-specific options file in project folder (if any exists) */
-
- parse upper arg SOFTWARE
-
- if ((SOFTWARE = "") | (SOFTWARE = "SAS/C") | (SOFTWARE = "SAS/C-GNUMAKE")) then do
-
- if (exists("scoptions")) then do
-
- if open('HANDLE', "scoptions", 'READ') then do
-
- do until eof('HANDLE')
-
- DATA = readln('HANDLE')
-
- if (upper(left(DATA, 12)) = "PROGRAMNAME=") then do
-
- PROJECTNAME = compress(substr(DATA, 13), '"')
- end
- else if (left(DATA, 11) = "OBJECTNAME=") then
-
- OBJFOLDER = compress(substr(DATA, 12), '"')
-
- else if (left(DATA, 18) = "GLOBALSYMBOLTABLE=") then
-
- GSTFILE = compress(substr(DATA, 19), '"')
- end
-
- R = close('HANDLE')
- end
- end
- end
-
- return
-
- /* /// */
- /* /// "readmakefile" */
-
- readmakefile: procedure expose CONFIG. STRING. PROJECTNAME
-
- parse upper arg SOFTWARE
-
- /* locate makefile */
-
- MAKEFILE = ""
-
- if ((SOFTWARE = "") | ((SOFTWARE ~= "SAS/C") & (SOFTWARE ~= "DICE"))) then do
-
- if (exists("makefile")) then
-
- MAKEFILE = "makefile"
- end
-
- if (MAKEFILE = "") then do
-
- if ((SOFTWARE = "") | (SOFTWARE = "SAS/C")) then do
-
- if (exists("smakefile")) then
-
- MAKEFILE = "smakefile"
- end
-
- if (MAKEFILE = "") then do
-
- if ((SOFTWARE = "") | (SOFTWARE = "DICE")) then do
-
- if (exists("dmakefile")) then
-
- MAKEFILE = "dmakefile"
- end
- end
- end
-
- /* try to locate executable name in makefile */
-
- if (MAKEFILE ~= "") then do
-
- if (open('HANDLE', MAKEFILE, 'READ') ~= 0) then do
-
- POS = 0
-
- do until (eof('HANDLE') | (PROJECTNAME ~= ""))
-
- DATA = readln('HANDLE')
-
- if (MAKEFILE = "smakefile") then do
-
- if (pos("sc link to", DATA) ~= 0) then do
-
- parse var DATA with 'sc' 'link' 'to' '"' PROJECTNAME '"' .
-
- if (PROJECTNAME = "") then
-
- parse var DATA with 'sc' 'link' 'to' PROJECTNAME .
- end
- end
- else if (left(DATA, 3) = "EXE") then do
-
- parse var DATA with 'EXE' '=' '"' PROJECTNAME '"'.
-
- if (PROJECTNAME = "") then
-
- parse var DATA with 'EXE' '=' PROJECTNAME .
- end
- end
-
- R = close('HANDLE')
-
- PROJECTNAME = compress(PROJECTNAME, '"')
- end
- end
-
- return
-
- /* /// */
-